Skip to content

A synthesised base resolves under its bare name, and Heist Gear's own lines are not modifiers - #45

Merged
JIRPOS merged 2 commits into
masterfrom
fix-synthesised-base-and-heist-gear-lines
Aug 13, 2026
Merged

A synthesised base resolves under its bare name, and Heist Gear's own lines are not modifiers#45
JIRPOS merged 2 commits into
masterfrom
fix-synthesised-base-and-heist-gear-lines

Conversation

@JIRPOS

@JIRPOS JIRPOS commented Aug 13, 2026

Copy link
Copy Markdown
Owner

Release notes

  • Fixed a synthesised weapon or armour piece (e.g. a synthesised Sceptre) failing to resolve its base, so pricing it now works the same as any other base.
  • Fixed a Heist Gear item showing its own printed instructions ("Any Heist member can equip this item.", "Can only be equipped to Heist members.") as unrecognised modifiers.
  • Fixed a Heist Contract affix with no roll at all (e.g. "Monsters are Hexproof", "The Ring takes no Cut") showing as an unrecognised modifier, in both price check and map check.

Review notes

ADDED:

  • Three captures pinned against the bundle version each report was filed against, and the regression cases that check them
  • A lexicon list, UnscalableSuffixes, naming every spelling of "this roll is fixed" the game appends to a modifier: the numeric "(unscalable value)" parenthetical, the em-dash "Unscalable Value" a modifier with no roll at all gets instead, and the plain-hyphen form Wine's clipboard fallback can turn the em dash into

CHANGED:

  • The base line's "Synthesised " prefix is stripped before base lookup, the same as "Superior " already is — the bundle only ever knows a synthesised weapon or armour base under its bare name
  • "Heist member" is a usage-note needle, so the two boilerplate lines every Heist Gear item prints are no longer read as unmatched modifiers
  • The unscalable-suffix check now walks the lexicon's list instead of comparing against a single hardcoded constant, so a further spelling can be added without touching the matching code
  • The test bundle slice gained Void Sceptre, Nebulis, Precise Arrowhead, Sceptres, Heist Gear and the Smuggler's Den contract's four affixes, plus the stats and heist mod-pool entries each capture needs, regenerated from the installed bundle matching the reports (20260813.55 predates the checkout's own out/, which has since drifted on an unrelated pair of logbook stats — left untouched)

7(7-6)% reduced Hiring Fee on the Heist Gear capture, called out as a data-bundle gap in an earlier revision of this PR, is now fixed on the data side (PathOfPriceCheck-Data main, no app change needed) and will resolve once that bundle ships.

Test plan

  • ctest --test-dir build — all 24 targets pass, including the new regression cases

JIRPOS and others added 2 commits August 13, 2026 17:43
… lines are not modifiers

ADDED: two captures pinned against the bundle version each Discord report was filed against,
and the regression cases that check them

CHANGED: the base line's "Synthesised " prefix is stripped before base lookup, the same as
"Superior " already is — the bundle only ever knows a synthesised weapon or armour base under
its bare name

CHANGED: "Heist member" is a usage-note needle, so the two boilerplate lines every Heist Gear
item prints ("Any Heist member can equip this item.", "Can only be equipped to Heist members.")
are no longer read as unmatched modifiers

CHANGED: the test bundle slice gained Void Sceptre, Nebulis, Precise Arrowhead, Sceptres and
Heist Gear plus the stats both captures need, regenerated from the installed bundle matching
the reports (20260813.55 predates the checkout's own out/, which has since drifted on an
unrelated pair of logbook stats)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
… is a lexicon list now

ADDED: an em-dash "Unscalable Value" suffix, and its Wine plain-hyphen fallback, to the
lexicon's new UnscalableSuffixes list, so a Heist Contract's boolean affixes ("Monsters are
Hexproof — Unscalable Value") strip cleanly before matching instead of coming back
unrecognised.

CHANGED: the numeric "(unscalable value)" parenthetical out of a bare constant and into that
same lexicon list, so every spelling of "this roll is fixed" lives in one place that can grow
without adding another constant.

ADDED: a real capture (a Smuggler's Den contract) and regression tests at the stat-matcher,
price-check and map-check layers.

Reported by the maintainer, caught testing map check.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@JIRPOS
JIRPOS merged commit a2ab9c4 into master Aug 13, 2026
9 checks passed
@JIRPOS
JIRPOS deleted the fix-synthesised-base-and-heist-gear-lines branch August 13, 2026 16:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant